package com.xiaoyi.pojo;

import java.util.ArrayList;
import java.util.List;

public class CategoryExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CategoryExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andCatidIsNull() {
            addCriterion("catid is null");
            return (Criteria) this;
        }

        public Criteria andCatidIsNotNull() {
            addCriterion("catid is not null");
            return (Criteria) this;
        }

        public Criteria andCatidEqualTo(Short value) {
            addCriterion("catid =", value, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidNotEqualTo(Short value) {
            addCriterion("catid <>", value, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidGreaterThan(Short value) {
            addCriterion("catid >", value, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidGreaterThanOrEqualTo(Short value) {
            addCriterion("catid >=", value, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidLessThan(Short value) {
            addCriterion("catid <", value, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidLessThanOrEqualTo(Short value) {
            addCriterion("catid <=", value, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidIn(List<Short> values) {
            addCriterion("catid in", values, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidNotIn(List<Short> values) {
            addCriterion("catid not in", values, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidBetween(Short value1, Short value2) {
            addCriterion("catid between", value1, value2, "catid");
            return (Criteria) this;
        }

        public Criteria andCatidNotBetween(Short value1, Short value2) {
            addCriterion("catid not between", value1, value2, "catid");
            return (Criteria) this;
        }

        public Criteria andModelIsNull() {
            addCriterion("model is null");
            return (Criteria) this;
        }

        public Criteria andModelIsNotNull() {
            addCriterion("model is not null");
            return (Criteria) this;
        }

        public Criteria andModelEqualTo(String value) {
            addCriterion("model =", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotEqualTo(String value) {
            addCriterion("model <>", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelGreaterThan(String value) {
            addCriterion("model >", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelGreaterThanOrEqualTo(String value) {
            addCriterion("model >=", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLessThan(String value) {
            addCriterion("model <", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLessThanOrEqualTo(String value) {
            addCriterion("model <=", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelLike(String value) {
            addCriterion("model like", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotLike(String value) {
            addCriterion("model not like", value, "model");
            return (Criteria) this;
        }

        public Criteria andModelIn(List<String> values) {
            addCriterion("model in", values, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotIn(List<String> values) {
            addCriterion("model not in", values, "model");
            return (Criteria) this;
        }

        public Criteria andModelBetween(String value1, String value2) {
            addCriterion("model between", value1, value2, "model");
            return (Criteria) this;
        }

        public Criteria andModelNotBetween(String value1, String value2) {
            addCriterion("model not between", value1, value2, "model");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Boolean value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Boolean value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Boolean value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Boolean value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Boolean value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Boolean value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Boolean> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Boolean> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Boolean value1, Boolean value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Boolean value1, Boolean value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andModelidIsNull() {
            addCriterion("modelid is null");
            return (Criteria) this;
        }

        public Criteria andModelidIsNotNull() {
            addCriterion("modelid is not null");
            return (Criteria) this;
        }

        public Criteria andModelidEqualTo(Byte value) {
            addCriterion("modelid =", value, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidNotEqualTo(Byte value) {
            addCriterion("modelid <>", value, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidGreaterThan(Byte value) {
            addCriterion("modelid >", value, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidGreaterThanOrEqualTo(Byte value) {
            addCriterion("modelid >=", value, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidLessThan(Byte value) {
            addCriterion("modelid <", value, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidLessThanOrEqualTo(Byte value) {
            addCriterion("modelid <=", value, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidIn(List<Byte> values) {
            addCriterion("modelid in", values, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidNotIn(List<Byte> values) {
            addCriterion("modelid not in", values, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidBetween(Byte value1, Byte value2) {
            addCriterion("modelid between", value1, value2, "modelid");
            return (Criteria) this;
        }

        public Criteria andModelidNotBetween(Byte value1, Byte value2) {
            addCriterion("modelid not between", value1, value2, "modelid");
            return (Criteria) this;
        }

        public Criteria andParentidIsNull() {
            addCriterion("parentid is null");
            return (Criteria) this;
        }

        public Criteria andParentidIsNotNull() {
            addCriterion("parentid is not null");
            return (Criteria) this;
        }

        public Criteria andParentidEqualTo(Short value) {
            addCriterion("parentid =", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidNotEqualTo(Short value) {
            addCriterion("parentid <>", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidGreaterThan(Short value) {
            addCriterion("parentid >", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidGreaterThanOrEqualTo(Short value) {
            addCriterion("parentid >=", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidLessThan(Short value) {
            addCriterion("parentid <", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidLessThanOrEqualTo(Short value) {
            addCriterion("parentid <=", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidIn(List<Short> values) {
            addCriterion("parentid in", values, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidNotIn(List<Short> values) {
            addCriterion("parentid not in", values, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidBetween(Short value1, Short value2) {
            addCriterion("parentid between", value1, value2, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidNotBetween(Short value1, Short value2) {
            addCriterion("parentid not between", value1, value2, "parentid");
            return (Criteria) this;
        }

        public Criteria andCatnameIsNull() {
            addCriterion("catname is null");
            return (Criteria) this;
        }

        public Criteria andCatnameIsNotNull() {
            addCriterion("catname is not null");
            return (Criteria) this;
        }

        public Criteria andCatnameEqualTo(String value) {
            addCriterion("catname =", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameNotEqualTo(String value) {
            addCriterion("catname <>", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameGreaterThan(String value) {
            addCriterion("catname >", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameGreaterThanOrEqualTo(String value) {
            addCriterion("catname >=", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameLessThan(String value) {
            addCriterion("catname <", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameLessThanOrEqualTo(String value) {
            addCriterion("catname <=", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameLike(String value) {
            addCriterion("catname like", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameNotLike(String value) {
            addCriterion("catname not like", value, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameIn(List<String> values) {
            addCriterion("catname in", values, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameNotIn(List<String> values) {
            addCriterion("catname not in", values, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameBetween(String value1, String value2) {
            addCriterion("catname between", value1, value2, "catname");
            return (Criteria) this;
        }

        public Criteria andCatnameNotBetween(String value1, String value2) {
            addCriterion("catname not between", value1, value2, "catname");
            return (Criteria) this;
        }

        public Criteria andCatdirIsNull() {
            addCriterion("catdir is null");
            return (Criteria) this;
        }

        public Criteria andCatdirIsNotNull() {
            addCriterion("catdir is not null");
            return (Criteria) this;
        }

        public Criteria andCatdirEqualTo(String value) {
            addCriterion("catdir =", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirNotEqualTo(String value) {
            addCriterion("catdir <>", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirGreaterThan(String value) {
            addCriterion("catdir >", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirGreaterThanOrEqualTo(String value) {
            addCriterion("catdir >=", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirLessThan(String value) {
            addCriterion("catdir <", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirLessThanOrEqualTo(String value) {
            addCriterion("catdir <=", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirLike(String value) {
            addCriterion("catdir like", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirNotLike(String value) {
            addCriterion("catdir not like", value, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirIn(List<String> values) {
            addCriterion("catdir in", values, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirNotIn(List<String> values) {
            addCriterion("catdir not in", values, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirBetween(String value1, String value2) {
            addCriterion("catdir between", value1, value2, "catdir");
            return (Criteria) this;
        }

        public Criteria andCatdirNotBetween(String value1, String value2) {
            addCriterion("catdir not between", value1, value2, "catdir");
            return (Criteria) this;
        }

        public Criteria andThumbIsNull() {
            addCriterion("thumb is null");
            return (Criteria) this;
        }

        public Criteria andThumbIsNotNull() {
            addCriterion("thumb is not null");
            return (Criteria) this;
        }

        public Criteria andThumbEqualTo(String value) {
            addCriterion("thumb =", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbNotEqualTo(String value) {
            addCriterion("thumb <>", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbGreaterThan(String value) {
            addCriterion("thumb >", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbGreaterThanOrEqualTo(String value) {
            addCriterion("thumb >=", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbLessThan(String value) {
            addCriterion("thumb <", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbLessThanOrEqualTo(String value) {
            addCriterion("thumb <=", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbLike(String value) {
            addCriterion("thumb like", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbNotLike(String value) {
            addCriterion("thumb not like", value, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbIn(List<String> values) {
            addCriterion("thumb in", values, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbNotIn(List<String> values) {
            addCriterion("thumb not in", values, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbBetween(String value1, String value2) {
            addCriterion("thumb between", value1, value2, "thumb");
            return (Criteria) this;
        }

        public Criteria andThumbNotBetween(String value1, String value2) {
            addCriterion("thumb not between", value1, value2, "thumb");
            return (Criteria) this;
        }

        public Criteria andUrlIsNull() {
            addCriterion("url is null");
            return (Criteria) this;
        }

        public Criteria andUrlIsNotNull() {
            addCriterion("url is not null");
            return (Criteria) this;
        }

        public Criteria andUrlEqualTo(String value) {
            addCriterion("url =", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotEqualTo(String value) {
            addCriterion("url <>", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlGreaterThan(String value) {
            addCriterion("url >", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlGreaterThanOrEqualTo(String value) {
            addCriterion("url >=", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlLessThan(String value) {
            addCriterion("url <", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlLessThanOrEqualTo(String value) {
            addCriterion("url <=", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlLike(String value) {
            addCriterion("url like", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotLike(String value) {
            addCriterion("url not like", value, "url");
            return (Criteria) this;
        }

        public Criteria andUrlIn(List<String> values) {
            addCriterion("url in", values, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotIn(List<String> values) {
            addCriterion("url not in", values, "url");
            return (Criteria) this;
        }

        public Criteria andUrlBetween(String value1, String value2) {
            addCriterion("url between", value1, value2, "url");
            return (Criteria) this;
        }

        public Criteria andUrlNotBetween(String value1, String value2) {
            addCriterion("url not between", value1, value2, "url");
            return (Criteria) this;
        }

        public Criteria andSortIsNull() {
            addCriterion("sort is null");
            return (Criteria) this;
        }

        public Criteria andSortIsNotNull() {
            addCriterion("sort is not null");
            return (Criteria) this;
        }

        public Criteria andSortEqualTo(Integer value) {
            addCriterion("sort =", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotEqualTo(Integer value) {
            addCriterion("sort <>", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThan(Integer value) {
            addCriterion("sort >", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThanOrEqualTo(Integer value) {
            addCriterion("sort >=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThan(Integer value) {
            addCriterion("sort <", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThanOrEqualTo(Integer value) {
            addCriterion("sort <=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortIn(List<Integer> values) {
            addCriterion("sort in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotIn(List<Integer> values) {
            addCriterion("sort not in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortBetween(Integer value1, Integer value2) {
            addCriterion("sort between", value1, value2, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotBetween(Integer value1, Integer value2) {
            addCriterion("sort not between", value1, value2, "sort");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNull() {
            addCriterion("is_show is null");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNotNull() {
            addCriterion("is_show is not null");
            return (Criteria) this;
        }

        public Criteria andIsShowEqualTo(Boolean value) {
            addCriterion("is_show =", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotEqualTo(Boolean value) {
            addCriterion("is_show <>", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThan(Boolean value) {
            addCriterion("is_show >", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_show >=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThan(Boolean value) {
            addCriterion("is_show <", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThanOrEqualTo(Boolean value) {
            addCriterion("is_show <=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowIn(List<Boolean> values) {
            addCriterion("is_show in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotIn(List<Boolean> values) {
            addCriterion("is_show not in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowBetween(Boolean value1, Boolean value2) {
            addCriterion("is_show between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_show not between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowIsNull() {
            addCriterion("is_meshow is null");
            return (Criteria) this;
        }

        public Criteria andIsMeshowIsNotNull() {
            addCriterion("is_meshow is not null");
            return (Criteria) this;
        }

        public Criteria andIsMeshowEqualTo(Boolean value) {
            addCriterion("is_meshow =", value, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowNotEqualTo(Boolean value) {
            addCriterion("is_meshow <>", value, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowGreaterThan(Boolean value) {
            addCriterion("is_meshow >", value, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_meshow >=", value, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowLessThan(Boolean value) {
            addCriterion("is_meshow <", value, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowLessThanOrEqualTo(Boolean value) {
            addCriterion("is_meshow <=", value, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowIn(List<Boolean> values) {
            addCriterion("is_meshow in", values, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowNotIn(List<Boolean> values) {
            addCriterion("is_meshow not in", values, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowBetween(Boolean value1, Boolean value2) {
            addCriterion("is_meshow between", value1, value2, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsMeshowNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_meshow not between", value1, value2, "isMeshow");
            return (Criteria) this;
        }

        public Criteria andIsTargetIsNull() {
            addCriterion("is_target is null");
            return (Criteria) this;
        }

        public Criteria andIsTargetIsNotNull() {
            addCriterion("is_target is not null");
            return (Criteria) this;
        }

        public Criteria andIsTargetEqualTo(Boolean value) {
            addCriterion("is_target =", value, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetNotEqualTo(Boolean value) {
            addCriterion("is_target <>", value, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetGreaterThan(Boolean value) {
            addCriterion("is_target >", value, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_target >=", value, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetLessThan(Boolean value) {
            addCriterion("is_target <", value, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetLessThanOrEqualTo(Boolean value) {
            addCriterion("is_target <=", value, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetIn(List<Boolean> values) {
            addCriterion("is_target in", values, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetNotIn(List<Boolean> values) {
            addCriterion("is_target not in", values, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetBetween(Boolean value1, Boolean value2) {
            addCriterion("is_target between", value1, value2, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsTargetNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_target not between", value1, value2, "isTarget");
            return (Criteria) this;
        }

        public Criteria andIsHtmlIsNull() {
            addCriterion("is_html is null");
            return (Criteria) this;
        }

        public Criteria andIsHtmlIsNotNull() {
            addCriterion("is_html is not null");
            return (Criteria) this;
        }

        public Criteria andIsHtmlEqualTo(Boolean value) {
            addCriterion("is_html =", value, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlNotEqualTo(Boolean value) {
            addCriterion("is_html <>", value, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlGreaterThan(Boolean value) {
            addCriterion("is_html >", value, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_html >=", value, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlLessThan(Boolean value) {
            addCriterion("is_html <", value, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlLessThanOrEqualTo(Boolean value) {
            addCriterion("is_html <=", value, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlIn(List<Boolean> values) {
            addCriterion("is_html in", values, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlNotIn(List<Boolean> values) {
            addCriterion("is_html not in", values, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlBetween(Boolean value1, Boolean value2) {
            addCriterion("is_html between", value1, value2, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsHtmlNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_html not between", value1, value2, "isHtml");
            return (Criteria) this;
        }

        public Criteria andIsLinkIsNull() {
            addCriterion("is_link is null");
            return (Criteria) this;
        }

        public Criteria andIsLinkIsNotNull() {
            addCriterion("is_link is not null");
            return (Criteria) this;
        }

        public Criteria andIsLinkEqualTo(Boolean value) {
            addCriterion("is_link =", value, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkNotEqualTo(Boolean value) {
            addCriterion("is_link <>", value, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkGreaterThan(Boolean value) {
            addCriterion("is_link >", value, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_link >=", value, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkLessThan(Boolean value) {
            addCriterion("is_link <", value, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkLessThanOrEqualTo(Boolean value) {
            addCriterion("is_link <=", value, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkIn(List<Boolean> values) {
            addCriterion("is_link in", values, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkNotIn(List<Boolean> values) {
            addCriterion("is_link not in", values, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkBetween(Boolean value1, Boolean value2) {
            addCriterion("is_link between", value1, value2, "isLink");
            return (Criteria) this;
        }

        public Criteria andIsLinkNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_link not between", value1, value2, "isLink");
            return (Criteria) this;
        }

        public Criteria andTemplateCateIsNull() {
            addCriterion("template_cate is null");
            return (Criteria) this;
        }

        public Criteria andTemplateCateIsNotNull() {
            addCriterion("template_cate is not null");
            return (Criteria) this;
        }

        public Criteria andTemplateCateEqualTo(String value) {
            addCriterion("template_cate =", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateNotEqualTo(String value) {
            addCriterion("template_cate <>", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateGreaterThan(String value) {
            addCriterion("template_cate >", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateGreaterThanOrEqualTo(String value) {
            addCriterion("template_cate >=", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateLessThan(String value) {
            addCriterion("template_cate <", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateLessThanOrEqualTo(String value) {
            addCriterion("template_cate <=", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateLike(String value) {
            addCriterion("template_cate like", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateNotLike(String value) {
            addCriterion("template_cate not like", value, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateIn(List<String> values) {
            addCriterion("template_cate in", values, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateNotIn(List<String> values) {
            addCriterion("template_cate not in", values, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateBetween(String value1, String value2) {
            addCriterion("template_cate between", value1, value2, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateCateNotBetween(String value1, String value2) {
            addCriterion("template_cate not between", value1, value2, "templateCate");
            return (Criteria) this;
        }

        public Criteria andTemplateListIsNull() {
            addCriterion("template_list is null");
            return (Criteria) this;
        }

        public Criteria andTemplateListIsNotNull() {
            addCriterion("template_list is not null");
            return (Criteria) this;
        }

        public Criteria andTemplateListEqualTo(String value) {
            addCriterion("template_list =", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListNotEqualTo(String value) {
            addCriterion("template_list <>", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListGreaterThan(String value) {
            addCriterion("template_list >", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListGreaterThanOrEqualTo(String value) {
            addCriterion("template_list >=", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListLessThan(String value) {
            addCriterion("template_list <", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListLessThanOrEqualTo(String value) {
            addCriterion("template_list <=", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListLike(String value) {
            addCriterion("template_list like", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListNotLike(String value) {
            addCriterion("template_list not like", value, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListIn(List<String> values) {
            addCriterion("template_list in", values, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListNotIn(List<String> values) {
            addCriterion("template_list not in", values, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListBetween(String value1, String value2) {
            addCriterion("template_list between", value1, value2, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateListNotBetween(String value1, String value2) {
            addCriterion("template_list not between", value1, value2, "templateList");
            return (Criteria) this;
        }

        public Criteria andTemplateShowIsNull() {
            addCriterion("template_show is null");
            return (Criteria) this;
        }

        public Criteria andTemplateShowIsNotNull() {
            addCriterion("template_show is not null");
            return (Criteria) this;
        }

        public Criteria andTemplateShowEqualTo(String value) {
            addCriterion("template_show =", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowNotEqualTo(String value) {
            addCriterion("template_show <>", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowGreaterThan(String value) {
            addCriterion("template_show >", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowGreaterThanOrEqualTo(String value) {
            addCriterion("template_show >=", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowLessThan(String value) {
            addCriterion("template_show <", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowLessThanOrEqualTo(String value) {
            addCriterion("template_show <=", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowLike(String value) {
            addCriterion("template_show like", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowNotLike(String value) {
            addCriterion("template_show not like", value, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowIn(List<String> values) {
            addCriterion("template_show in", values, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowNotIn(List<String> values) {
            addCriterion("template_show not in", values, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowBetween(String value1, String value2) {
            addCriterion("template_show between", value1, value2, "templateShow");
            return (Criteria) this;
        }

        public Criteria andTemplateShowNotBetween(String value1, String value2) {
            addCriterion("template_show not between", value1, value2, "templateShow");
            return (Criteria) this;
        }

        public Criteria andSeoTitleIsNull() {
            addCriterion("seo_title is null");
            return (Criteria) this;
        }

        public Criteria andSeoTitleIsNotNull() {
            addCriterion("seo_title is not null");
            return (Criteria) this;
        }

        public Criteria andSeoTitleEqualTo(String value) {
            addCriterion("seo_title =", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleNotEqualTo(String value) {
            addCriterion("seo_title <>", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleGreaterThan(String value) {
            addCriterion("seo_title >", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleGreaterThanOrEqualTo(String value) {
            addCriterion("seo_title >=", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleLessThan(String value) {
            addCriterion("seo_title <", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleLessThanOrEqualTo(String value) {
            addCriterion("seo_title <=", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleLike(String value) {
            addCriterion("seo_title like", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleNotLike(String value) {
            addCriterion("seo_title not like", value, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleIn(List<String> values) {
            addCriterion("seo_title in", values, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleNotIn(List<String> values) {
            addCriterion("seo_title not in", values, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleBetween(String value1, String value2) {
            addCriterion("seo_title between", value1, value2, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoTitleNotBetween(String value1, String value2) {
            addCriterion("seo_title not between", value1, value2, "seoTitle");
            return (Criteria) this;
        }

        public Criteria andSeoKeyIsNull() {
            addCriterion("seo_key is null");
            return (Criteria) this;
        }

        public Criteria andSeoKeyIsNotNull() {
            addCriterion("seo_key is not null");
            return (Criteria) this;
        }

        public Criteria andSeoKeyEqualTo(String value) {
            addCriterion("seo_key =", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyNotEqualTo(String value) {
            addCriterion("seo_key <>", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyGreaterThan(String value) {
            addCriterion("seo_key >", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyGreaterThanOrEqualTo(String value) {
            addCriterion("seo_key >=", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyLessThan(String value) {
            addCriterion("seo_key <", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyLessThanOrEqualTo(String value) {
            addCriterion("seo_key <=", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyLike(String value) {
            addCriterion("seo_key like", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyNotLike(String value) {
            addCriterion("seo_key not like", value, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyIn(List<String> values) {
            addCriterion("seo_key in", values, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyNotIn(List<String> values) {
            addCriterion("seo_key not in", values, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyBetween(String value1, String value2) {
            addCriterion("seo_key between", value1, value2, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoKeyNotBetween(String value1, String value2) {
            addCriterion("seo_key not between", value1, value2, "seoKey");
            return (Criteria) this;
        }

        public Criteria andSeoDesIsNull() {
            addCriterion("seo_des is null");
            return (Criteria) this;
        }

        public Criteria andSeoDesIsNotNull() {
            addCriterion("seo_des is not null");
            return (Criteria) this;
        }

        public Criteria andSeoDesEqualTo(String value) {
            addCriterion("seo_des =", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesNotEqualTo(String value) {
            addCriterion("seo_des <>", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesGreaterThan(String value) {
            addCriterion("seo_des >", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesGreaterThanOrEqualTo(String value) {
            addCriterion("seo_des >=", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesLessThan(String value) {
            addCriterion("seo_des <", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesLessThanOrEqualTo(String value) {
            addCriterion("seo_des <=", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesLike(String value) {
            addCriterion("seo_des like", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesNotLike(String value) {
            addCriterion("seo_des not like", value, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesIn(List<String> values) {
            addCriterion("seo_des in", values, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesNotIn(List<String> values) {
            addCriterion("seo_des not in", values, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesBetween(String value1, String value2) {
            addCriterion("seo_des between", value1, value2, "seoDes");
            return (Criteria) this;
        }

        public Criteria andSeoDesNotBetween(String value1, String value2) {
            addCriterion("seo_des not between", value1, value2, "seoDes");
            return (Criteria) this;
        }

        public Criteria andPowerIsNull() {
            addCriterion("power is null");
            return (Criteria) this;
        }

        public Criteria andPowerIsNotNull() {
            addCriterion("power is not null");
            return (Criteria) this;
        }

        public Criteria andPowerEqualTo(String value) {
            addCriterion("power =", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotEqualTo(String value) {
            addCriterion("power <>", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThan(String value) {
            addCriterion("power >", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThanOrEqualTo(String value) {
            addCriterion("power >=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThan(String value) {
            addCriterion("power <", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThanOrEqualTo(String value) {
            addCriterion("power <=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLike(String value) {
            addCriterion("power like", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotLike(String value) {
            addCriterion("power not like", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerIn(List<String> values) {
            addCriterion("power in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotIn(List<String> values) {
            addCriterion("power not in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerBetween(String value1, String value2) {
            addCriterion("power between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotBetween(String value1, String value2) {
            addCriterion("power not between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andUrlListIsNull() {
            addCriterion("url_list is null");
            return (Criteria) this;
        }

        public Criteria andUrlListIsNotNull() {
            addCriterion("url_list is not null");
            return (Criteria) this;
        }

        public Criteria andUrlListEqualTo(Integer value) {
            addCriterion("url_list =", value, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListNotEqualTo(Integer value) {
            addCriterion("url_list <>", value, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListGreaterThan(Integer value) {
            addCriterion("url_list >", value, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListGreaterThanOrEqualTo(Integer value) {
            addCriterion("url_list >=", value, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListLessThan(Integer value) {
            addCriterion("url_list <", value, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListLessThanOrEqualTo(Integer value) {
            addCriterion("url_list <=", value, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListIn(List<Integer> values) {
            addCriterion("url_list in", values, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListNotIn(List<Integer> values) {
            addCriterion("url_list not in", values, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListBetween(Integer value1, Integer value2) {
            addCriterion("url_list between", value1, value2, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlListNotBetween(Integer value1, Integer value2) {
            addCriterion("url_list not between", value1, value2, "urlList");
            return (Criteria) this;
        }

        public Criteria andUrlShowIsNull() {
            addCriterion("url_show is null");
            return (Criteria) this;
        }

        public Criteria andUrlShowIsNotNull() {
            addCriterion("url_show is not null");
            return (Criteria) this;
        }

        public Criteria andUrlShowEqualTo(Integer value) {
            addCriterion("url_show =", value, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowNotEqualTo(Integer value) {
            addCriterion("url_show <>", value, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowGreaterThan(Integer value) {
            addCriterion("url_show >", value, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowGreaterThanOrEqualTo(Integer value) {
            addCriterion("url_show >=", value, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowLessThan(Integer value) {
            addCriterion("url_show <", value, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowLessThanOrEqualTo(Integer value) {
            addCriterion("url_show <=", value, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowIn(List<Integer> values) {
            addCriterion("url_show in", values, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowNotIn(List<Integer> values) {
            addCriterion("url_show not in", values, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowBetween(Integer value1, Integer value2) {
            addCriterion("url_show between", value1, value2, "urlShow");
            return (Criteria) this;
        }

        public Criteria andUrlShowNotBetween(Integer value1, Integer value2) {
            addCriterion("url_show not between", value1, value2, "urlShow");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}